Pengantar PyTorch: Mengapa Tensor Penting
PyTorch adalah kerangka kerja sumber terbuka yang sangat fleksibel dan dinamis, digemari untuk penelitian pembelajaran mendalam dan prototipe cepat. Di intinya, Tensor adalah struktur data yang tak tergantikan. Ini adalah larik multi-dimensi yang dirancang untuk menangani operasi numerik secara efisien yang dibutuhkan oleh model pembelajaran mendalam, mendukung akselerasi GPU secara otomatis.akselerasi GPU automatically.
1. Memahami Struktur Tensor
Setiap input, output, dan parameter model dalam PyTorch dikemas dalam bentuk Tensor. Mereka memiliki fungsi yang sama seperti array NumPy tetapi dioptimalkan untuk pemrosesan pada perangkat keras khusus seperti GPU, membuatnya jauh lebih efisien untuk operasi aljabar linear skala besar yang dibutuhkan oleh jaringan saraf.
Properti utama yang mendefinisikan tensor:
- Bentuk: Menentukan dimensi data, dinyatakan sebagai tuple (misalnya, $4 \times 32 \times 32$ untuk satu kelompok gambar).
- Tipe Data: Menentukan tipe numerik dari elemen yang disimpan (misalnya,
torch.float32untuk bobot model,torch.int64untuk pengindeksan). - Perangkat: Menunjukkan lokasi perangkat keras fisik: biasanya
'cpu'atau'cuda'(GPU NVIDIA).
requires_grad=True diatur, memungkinkan perhitungan gradien yang mudah saat melakukan backpropagation.Jalankan kode untuk memeriksa tensor aktif
Dimensi dalam harus sesuai, sehingga $F$ harus menjadi $(1, 10)$. Kemudian $(1, 10) @ (10, 5) \rightarrow (1, 5)$.
Kode:
F_new = F.unsqueeze(0) atau F_new = F.view(1, -1)Operasi ini langsung berupa MatMul.
Kode:
output = F_new @ W atau output = torch.matmul(F_new, W)Gunakan metode
view atau reshapemetode. Cara tercepat untuk membuat rata adalah menggunakan -1untuk satu dimensi.Kode:
F_flat = F.view(-1) atau F_flat = F.reshape(50)